// elementalAttackPower.module.js

// 计算元素攻击力


// [[file:~/literate-programming/soul-hunter-awakening-damage-calculator-web-edition.org::*elementalAttackPower.module.js][elementalAttackPower.module.js:1]]
function calculate(object){
    return finalElementalAttackPower({
        武器元素攻击力:weaponElementalAttackPower({
            武器基础元素攻击力:object.武器基础元素攻击力,
            武器精铸元素攻击力:object.武器精铸元素攻击力,
            武器重铸元素攻击力:object.武器重铸元素攻击力,
            血灵石元素攻击力增幅:object.血灵石元素攻击力增幅,
        }),
        其他元素攻击力:otherElementalAttackPower({
            项链元素攻击力:object.项链元素攻击力,
            兽潮元素攻击力:object.兽潮元素攻击力
        }),
        魂萃元素攻击力增幅:object.魂萃元素攻击力增幅
    })
}

function finalElementalAttackPower(object){
    let 武器元素攻击力=object.武器元素攻击力
    let 其他元素攻击力=object.其他元素攻击力
    let 魂萃元素攻击力增幅=object.魂萃元素攻击力增幅

    return (武器元素攻击力+其他元素攻击力)*(1+魂萃元素攻击力增幅)
}

function weaponElementalAttackPower(object){
    let 武器基础元素攻击力=object.武器基础元素攻击力
    let 武器精铸元素攻击力=object.武器精铸元素攻击力
    let 武器重铸元素攻击力=object.武器重铸元素攻击力
    let 血灵石元素攻击力增幅=object.血灵石元素攻击力增幅

    return (武器基础元素攻击力+武器精铸元素攻击力+武器重铸元素攻击力)*(1+血灵石元素攻击力增幅)
}

function otherElementalAttackPower(object){
    let 项链元素攻击力=object.项链元素攻击力
    let 兽潮元素攻击力=object.兽潮元素攻击力

    return (项链元素攻击力+兽潮元素攻击力)
}

export{calculate}
// elementalAttackPower.module.js:1 ends here
